<?xml version="1.0" encoding="UTF-8"?>
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:p="http://primefaces.org/ui"
	template="/WEB-INF/templates/default.xhtml">
	<ui:define name="content">
		<!-- Formulário de Pesquisa -->
		<h:form id="frmPesquisa" styleClass="form-horizontal" prependId="false">
			<p:outputPanel id="panelPesquisa" rendered="#{!unidadeController.mostraCadastro}">
				<fieldset>
					<legend>#{messages.TITLE_PESQUISA_UNIDADE}</legend>
	
					<!-- Campos de Pesquisa -->
					<div class="control-group">
						<h:outputLabel for="txtNomeSearch" value="#{messages.LABEL_NOME}:" styleClass="control-label"/>
	                    <div class="controls">
							<p:inputText value="#{unidadeController.unidadeSearch.nome}" id="txtNomeSearch" styleClass="input-xxlarge"/>
	                    </div>
					</div>

					<div class="control-group">
						<h:outputLabel for="cmbTipoSearch" value="#{messages.LABEL_TIPO}:" styleClass="control-label"/>
	                    <div class="controls">
							<h:selectOneMenu id="cmbTipoSearch" value="#{unidadeController.unidadeSearch.tipo}" label="#{messages.LABEL_TIPO}">
								<f:selectItem itemLabel="Selecione o #{messages.LABEL_TIPO}"/>
								<f:selectItem itemLabel="ADMINISTRATIVO" itemValue="ADMINISTRATIVO"/>
								<f:selectItem itemLabel="CAPS" itemValue="CAPS"/>
								<f:selectItem itemLabel="CEREST" itemValue="CEREST"/>
								<f:selectItem itemLabel="HOSPITAL" itemValue="HOSPITAL"/>
								<f:selectItem itemLabel="PSF" itemValue="PSF"/>
								<f:selectItem itemLabel="REGULACAO" itemValue="REGULACAO"/>
								<f:selectItem itemLabel="OUTROS" itemValue="OUTROS"/>
							</h:selectOneMenu>
	                    </div>
					</div>
					
					<div class="control-group">
						<h:outputLabel for="cmbBairroSearch" value="#{messages.LABEL_BAIRRO}:" styleClass="control-label"/>
	                    <div class="controls">
							<h:selectOneMenu id="cmbBairroSearch" value="#{unidadeController.unidadeSearch.bairro}" label="#{messages.LABEL_BAIRRO}"
								converter="entityConverter">
								<f:selectItem itemLabel="Selecione o #{messages.LABEL_BAIRRO}"/>
								<f:selectItems value="#{unidadeController.bairros}" var="bairro" itemLabel="#{bairro.nome}"/>
							</h:selectOneMenu>
						</div>
					</div>
					<!--End Campos de Pesquisa -->
	
					<!-- Primeiro Grupo de botões -->
					<div class="form-actions">
						<p:commandButton id="btnPesquisar" value="#{messages.LABEL_PESQUISAR}" action="#{unidadeController.pesquisar()}"
							process="frmPesquisa" update="frmPesquisa" styleClass="btn btn-primary"/>
							
						<p:commandButton id="btnLimpar" value="#{messages.LABEL_LIMPAR}" action="#{unidadeController.limpar()}"
							process="@this" update="frmPesquisa" styleClass="btn btn-primary"/>
	
						<p:commandButton id="btnNovo" value="#{messages.LABEL_NOVA}" action="#{unidadeController.novo()}" process="@this"
	                    	update="frmPesquisa, :frmCadastro" styleClass="btn btn-primary"/>
	                </div>
	                <!--End Primeiro Grupo de botões -->
				</fieldset>
	
				<!-- Grid de dados -->
				<p:dataTable id="tblUnidade" var="unidade" value="#{unidadeController.unidades}" rows="10" paginator="true" 
	           		style="#{empty unidadeController.unidades ? 'display:none;' : 'display:table; width: 100%;'}" styleClass="table table-bordered">

	             	<f:facet name="header">
	             		<h:outputText value="#{messages.TITLE_PESQUISAR}"/>
	     			</f:facet>
	     		
	     		    <p:column headerText="#{messages.LABEL_NOME}" >  
	                    <h:outputText value="#{unidade.nome}"/>
	                </p:column>  

	                <p:column headerText="#{messages.LABEL_TIPO}">
	                	 <h:outputText value="#{unidade.tipo}"/>
	                </p:column>  

	                <p:column headerText="#{messages.LABEL_ENDERECO}">
	                	 <h:outputText value="#{unidade.endereco}"/> 
	                </p:column>  

	                <p:column headerText="#{messages.LABEL_BAIRRO}">
	                	 <h:outputText value="#{unidade.bairro.nome}"/>
	                </p:column>

					<!-- Segundo Grupo de botões -->
	                <p:column headerText="#{messages.LABEL_ACOES}" style="text-align: center !important;">
	               		<p:commandLink id="btnAlterar" title="#{messages.LABEL_ALTERAR}" action="#{unidadeController.alterar(unidade)}"
	                		update=":frmPesquisa, :frmCadastro" immediate="true">
	                		<p:graphicImage value="#{resource['images/edit.png']}" />
	                	</p:commandLink>

	                	<p:spacer height="0" width="20"/>

	                	<p:commandLink id="btnRemover" title="#{messages.LABEL_EXCLUIR}" onclick="confirmModalUnidade.show();">
	                		<f:setPropertyActionListener value="#{unidade}" target="#{unidadeController.unidade}"/>
	                		<p:graphicImage value="#{resource['images/trash.png']}" />
	                	</p:commandLink>
	                </p:column>
	                <!-- End Segundo Grupo de botões -->
				</p:dataTable>
				<!-- End Grid de dados -->
			</p:outputPanel>
		</h:form>
		<!-- End Formulário de Pesquisa -->

		<!-- Formulário de Cadastro -->
		<h:form id="frmCadastro" prependId="false" styleClass="form-horizontal">
			<p:outputPanel id="panelCadastro" rendered="#{unidadeController.mostraCadastro}">
				<legend style="#{unidadeController.isCadastro ? '' : 'display: none;'}">#{messages.TITLE_CADASTRO_UNIDADE}</legend>
				<legend style="#{!unidadeController.isCadastro ? '' : 'display: none;'}">#{messages.TITLE_ALTERACAO_UNIDADE}</legend>

				<div class="control-group">
					<h:outputLabel for="txtNome" value="#{messages.LABEL_NOME}:" styleClass="control-label required"/>
                    <div class="controls">
						<p:inputText id="txtNome" value="#{unidadeController.unidade.nome}" maxlength="50"
							label="#{messages.LABEL_NOME}:" styleClass="input-xxlarge"/>
					</div>
				</div>

				<div class="control-group">
					<h:outputLabel for="cmbDepartamento" value="#{messages.LABEL_DEPARTAMENTO}:" styleClass="control-label required"/>
                    <div class="controls">
						<h:selectOneMenu id="cmbDepartamento" value="#{unidadeController.departamento}" label="#{messages.LABEL_DEPARTAMENTO}"
							converter="entityConverter">
							<f:selectItem itemLabel="Selecione o #{messages.LABEL_DEPARTAMENTO}" itemValue="#{null}"/>
							<f:selectItems value="#{unidadeController.departamentos}" var="departamento" itemLabel="#{departamento.nome}"/>
						</h:selectOneMenu>
						<p:commandLink id="btnAddDepartamento" action="#{unidadeController.addDepartamento()}"
							title="#{messages.LABEL_ADICIONAR}" update="tblDepartamento, divDepartamento" process="frmCadastro">
	   						<h:graphicImage url="/resources/images/plus.png"/>
						</p:commandLink>
					</div>
				</div>
				
				<h:panelGroup id="divDepartamento" style="#{empty unidadeController.unidade.unidadesDepartamentos ? 'display:none;' : ''}">
					<div class="controls-row no-margin">
						<h:outputLabel value="" styleClass="control-label more-space"/>
						<p:dataTable id="tblDepartamento" value="#{unidadeController.unidade.unidadesDepartamentos}" rows="5" var="unidadeDepartamento" 
							style="#{empty unidadeController.unidade.unidadesDepartamentos ? 'display:none;' : 'display:table; width: 50%;'}">
	
							<f:facet name="header">
			             		<h:outputText value="#{messages.TITLE_INCLUSAO_DEPARTAMENTO}"/>
			     			</f:facet>
			     		
			     		    <p:column headerText="#{messages.LABEL_DEPARTAMENTO}" >  
			                    <h:outputText value="#{unidadeDepartamento.departamento.nome}"/>
			                </p:column>
							
				            <p:column headerText="#{messages.LABEL_EXCLUIR}" style="text-align: center !important;">
				                <p:commandLink id="btnRemoverDepartamento" title="#{messages.LABEL_EXCLUIR}" onclick="confirmModalDepartamento.show();">
			                		<f:setPropertyActionListener value="#{unidadeDepartamento}" target="#{unidadeController.unidadeDepartamento}"/>
			                		<p:graphicImage value="#{resource['images/trash.png']}" />
			                	</p:commandLink>
				            </p:column>
			            </p:dataTable>
					</div>
				</h:panelGroup>

				<div class="control-group">
					<h:outputLabel for="cmbTipo" value="#{messages.LABEL_TIPO}:" styleClass="control-label required"/>
                    <div class="controls">
						<h:selectOneMenu id="cmbTipo" value="#{unidadeController.unidade.tipo}" label="#{messages.LABEL_TIPO}">
							<f:selectItem itemLabel="Selecione o #{messages.LABEL_TIPO}" itemValue="#{null}"/>
							<f:selectItem itemLabel="ADMINISTRATIVO" itemValue="ADMINISTRATIVO"/>
							<f:selectItem itemLabel="CAPS" itemValue="CAPS"/>
							<f:selectItem itemLabel="CEREST" itemValue="CEREST"/>
							<f:selectItem itemLabel="HOSPITAL" itemValue="HOSPITAL"/>
							<f:selectItem itemLabel="PSF" itemValue="PSF"/>
							<f:selectItem itemLabel="REGULACAO" itemValue="REGULACAO"/>
							<f:selectItem itemLabel="OUTROS" itemValue="OUTROS"/>
						</h:selectOneMenu>
					</div>
				</div>

				<div class="control-group">
					<h:outputLabel for="txtEndereco" value="#{messages.LABEL_ENDERECO}*:" styleClass="control-label"/>
                    <div class="controls">
						<p:inputText id="txtEndereco" value="#{unidadeController.unidade.endereco}" maxlength="50"
							label="#{messages.LABEL_ENDERECO}*:" styleClass="input-xxlarge"/>
					</div>
				</div>

				<div class="control-group">
					<h:outputLabel for="cmbBairro" value="#{messages.LABEL_BAIRRO}*:" styleClass="control-label"/>
                    <div class="controls">
						<h:selectOneMenu id="cmbBairro" value="#{unidadeController.unidade.bairro}" label="#{messages.LABEL_BAIRRO}" converter="entityConverter">
							<f:selectItem itemLabel="Selecione o #{messages.LABEL_BAIRRO}"/>
							<f:selectItems value="#{unidadeController.bairros}" var="bairro" itemLabel="#{bairro.nome}"/>
						</h:selectOneMenu>
					</div>
				</div>

				<div class="form-actions">
					<p:commandButton id="btnSalvar" value="#{messages.BTN_SALVAR}" action="#{unidadeController.salvar()}"
	                	update=":frmCadastro, :frmPesquisa" styleClass="btn" oncomplete="Util.scrollTop();" process="frmCadastro"/>
	                	
	                <p:commandButton value="#{messages.LABEL_CANCELAR}" action="#{unidadeController.cancelar()}" 
						update=":frmCadastro, :frmPesquisa" immediate="true" styleClass="btn"/>
				</div>
			</p:outputPanel>
		</h:form>
		
		<!-- Dialog de confirmação de exclusão -->
       	<h:form prependId="false">
			<p:confirmDialog message="#{messages.TITLE_HEADER_REMOVER}" header="Confirmação" severity="alert" widgetVar="confirmModalUnidade">
				<p:commandButton value="#{messages.LABEL_SIM}" inline="true" process="@this" actionListener="#{unidadeController.remover()}"
					onclick="confirmModalUnidade.hide();" update=":frmPesquisa" oncomplete="Util.scrollTop();"/>

				<p:commandButton value="#{messages.LABEL_NAO}" type="button" onclick="confirmModalUnidade.hide();"/>
			</p:confirmDialog>
		</h:form>

		<!-- Dialog de confirmação de exclusão -->
       	<h:form prependId="false">
			<p:confirmDialog message="#{messages.TITLE_HEADER_REMOVER}" header="Confirmação" severity="alert" widgetVar="confirmModalDepartamento">
				<p:commandButton value="#{messages.LABEL_SIM}" inline="true" process="@this" action="#{unidadeController.removerDepartamento()}"
					onclick="confirmModalDepartamento.hide();" update=":frmCadastro" oncomplete="Util.scrollTop();"/>

				<p:commandButton value="#{messages.LABEL_NAO}" type="button" onclick="confirmModalDepartamento.hide();"/>
			</p:confirmDialog>
		</h:form>
       	<!-- End Dialog de confirmação de exclusão -->
	</ui:define>
</ui:composition>